package com.charactereducation.module.vo;

import java.util.Date;

/**
 * Created by zpc on 2017/2/23.
 */
public class WeChatPaymentFeedback {

    private Long tid;               // 主键

    private String returncode;      // 返回状态码

    private String returnMsg;       // 返回信息

    private String appid;           // 公众账号ID

    private String mchId;           // 商户号

    private String deviceInfo;      // 设备号

    private String nonceStr;        // 随机字符串

    private String sign;            // 签名

    private String signType;        // 签名类型

    private String resultCode;      // 业务结果

    private String errCode;         // 错误代码

    private String errCodeDes;      // 错误代码描述

    private String openid;          // 用户标识

    private String isSubscribe;     // 是否关注公众账号

    private String tradeType;       // 交易类型

    private String bankType;        // 付款银行

    private String totalFee;        // 订单金额

    private String settlementTotalFee;      // 应结订单金额

    private String feeType;         // 货币种类

    private String cashFee;         // 现金支付金额

    private String cashFeeType;     // 现金支付货币类型

    private String couponFee;       // 总代金券金额

    private String couponCount;     // 代金券使用数量

    private String couponType$n;    // 代金券类型

    private String couponId$n;      // 代金券ID

    private String couponFee$n;     // 单个代金券支付金额

    private String transactionId;   // 微信支付订单号

    private String outTradeNo;      // 商户订单号

    private String attach;          // 商家数据包

    private String timeEnd;         // 支付完成时间

    private Date createTime;        // 创建时间


    public WeChatPaymentFeedback() {
    }

    public Long getTid() {
        return tid;
    }

    public String getReturncode() {
        return returncode;
    }

    public String getReturnMsg() {
        return returnMsg;
    }

    public String getAppid() {
        return appid;
    }

    public String getMchId() {
        return mchId;
    }

    public String getDeviceInfo() {
        return deviceInfo;
    }

    public String getNonceStr() {
        return nonceStr;
    }

    public String getSign() {
        return sign;
    }

    public String getSignType() {
        return signType;
    }

    public String getResultCode() {
        return resultCode;
    }

    public String getErrCode() {
        return errCode;
    }

    public String getErrCodeDes() {
        return errCodeDes;
    }

    public String getOpenid() {
        return openid;
    }

    public String getIsSubscribe() {
        return isSubscribe;
    }

    public String getTradeType() {
        return tradeType;
    }

    public String getBankType() {
        return bankType;
    }

    public String getTotalFee() {
        return totalFee;
    }

    public String getSettlementTotalFee() {
        return settlementTotalFee;
    }

    public String getFeeType() {
        return feeType;
    }

    public String getCashFee() {
        return cashFee;
    }

    public String getCashFeeType() {
        return cashFeeType;
    }

    public String getCouponFee() {
        return couponFee;
    }

    public String getCouponCount() {
        return couponCount;
    }

    public String getCouponType$n() {
        return couponType$n;
    }

    public String getCouponId$n() {
        return couponId$n;
    }

    public String getCouponFee$n() {
        return couponFee$n;
    }

    public String getTransactionId() {
        return transactionId;
    }

    public String getOutTradeNo() {
        return outTradeNo;
    }

    public String getAttach() {
        return attach;
    }

    public String getTimeEnd() {
        return timeEnd;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setTid(Long tid) {
        this.tid = tid;
    }

    public void setReturncode(String returncode) {
        this.returncode = returncode;
    }

    public void setReturnMsg(String returnMsg) {
        this.returnMsg = returnMsg;
    }

    public void setAppid(String appid) {
        this.appid = appid;
    }

    public void setMchId(String mchId) {
        this.mchId = mchId;
    }

    public void setDeviceInfo(String deviceInfo) {
        this.deviceInfo = deviceInfo;
    }

    public void setNonceStr(String nonceStr) {
        this.nonceStr = nonceStr;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }

    public void setSignType(String signType) {
        this.signType = signType;
    }

    public void setResultCode(String resultCode) {
        this.resultCode = resultCode;
    }

    public void setErrCode(String errCode) {
        this.errCode = errCode;
    }

    public void setErrCodeDes(String errCodeDes) {
        this.errCodeDes = errCodeDes;
    }

    public void setOpenid(String openid) {
        this.openid = openid;
    }

    public void setIsSubscribe(String isSubscribe) {
        this.isSubscribe = isSubscribe;
    }

    public void setTradeType(String tradeType) {
        this.tradeType = tradeType;
    }

    public void setBankType(String bankType) {
        this.bankType = bankType;
    }

    public void setTotalFee(String totalFee) {
        this.totalFee = totalFee;
    }

    public void setSettlementTotalFee(String settlementTotalFee) {
        this.settlementTotalFee = settlementTotalFee;
    }

    public void setFeeType(String feeType) {
        this.feeType = feeType;
    }

    public void setCashFee(String cashFee) {
        this.cashFee = cashFee;
    }

    public void setCashFeeType(String cashFeeType) {
        this.cashFeeType = cashFeeType;
    }

    public void setCouponFee(String couponFee) {
        this.couponFee = couponFee;
    }

    public void setCouponCount(String couponCount) {
        this.couponCount = couponCount;
    }

    public void setCouponType$n(String couponType$n) {
        this.couponType$n = couponType$n;
    }

    public void setCouponId$n(String couponId$n) {
        this.couponId$n = couponId$n;
    }

    public void setCouponFee$n(String couponFee$n) {
        this.couponFee$n = couponFee$n;
    }

    public void setTransactionId(String transactionId) {
        this.transactionId = transactionId;
    }

    public void setOutTradeNo(String outTradeNo) {
        this.outTradeNo = outTradeNo;
    }

    public void setAttach(String attach) {
        this.attach = attach;
    }

    public void setTimeEnd(String timeEnd) {
        this.timeEnd = timeEnd;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        WeChatPaymentFeedback that = (WeChatPaymentFeedback) o;

        if (tid != null ? !tid.equals(that.tid) : that.tid != null) return false;
        if (returncode != null ? !returncode.equals(that.returncode) : that.returncode != null) return false;
        if (returnMsg != null ? !returnMsg.equals(that.returnMsg) : that.returnMsg != null) return false;
        if (appid != null ? !appid.equals(that.appid) : that.appid != null) return false;
        if (mchId != null ? !mchId.equals(that.mchId) : that.mchId != null) return false;
        if (deviceInfo != null ? !deviceInfo.equals(that.deviceInfo) : that.deviceInfo != null) return false;
        if (nonceStr != null ? !nonceStr.equals(that.nonceStr) : that.nonceStr != null) return false;
        if (sign != null ? !sign.equals(that.sign) : that.sign != null) return false;
        if (signType != null ? !signType.equals(that.signType) : that.signType != null) return false;
        if (resultCode != null ? !resultCode.equals(that.resultCode) : that.resultCode != null) return false;
        if (errCode != null ? !errCode.equals(that.errCode) : that.errCode != null) return false;
        if (errCodeDes != null ? !errCodeDes.equals(that.errCodeDes) : that.errCodeDes != null) return false;
        if (openid != null ? !openid.equals(that.openid) : that.openid != null) return false;
        if (isSubscribe != null ? !isSubscribe.equals(that.isSubscribe) : that.isSubscribe != null) return false;
        if (tradeType != null ? !tradeType.equals(that.tradeType) : that.tradeType != null) return false;
        if (bankType != null ? !bankType.equals(that.bankType) : that.bankType != null) return false;
        if (totalFee != null ? !totalFee.equals(that.totalFee) : that.totalFee != null) return false;
        if (settlementTotalFee != null ? !settlementTotalFee.equals(that.settlementTotalFee) : that.settlementTotalFee != null)
            return false;
        if (feeType != null ? !feeType.equals(that.feeType) : that.feeType != null) return false;
        if (cashFee != null ? !cashFee.equals(that.cashFee) : that.cashFee != null) return false;
        if (cashFeeType != null ? !cashFeeType.equals(that.cashFeeType) : that.cashFeeType != null) return false;
        if (couponFee != null ? !couponFee.equals(that.couponFee) : that.couponFee != null) return false;
        if (couponCount != null ? !couponCount.equals(that.couponCount) : that.couponCount != null) return false;
        if (couponType$n != null ? !couponType$n.equals(that.couponType$n) : that.couponType$n != null) return false;
        if (couponId$n != null ? !couponId$n.equals(that.couponId$n) : that.couponId$n != null) return false;
        if (couponFee$n != null ? !couponFee$n.equals(that.couponFee$n) : that.couponFee$n != null) return false;
        if (transactionId != null ? !transactionId.equals(that.transactionId) : that.transactionId != null)
            return false;
        if (outTradeNo != null ? !outTradeNo.equals(that.outTradeNo) : that.outTradeNo != null) return false;
        if (attach != null ? !attach.equals(that.attach) : that.attach != null) return false;
        if (timeEnd != null ? !timeEnd.equals(that.timeEnd) : that.timeEnd != null) return false;
        return createTime != null ? createTime.equals(that.createTime) : that.createTime == null;

    }

    @Override
    public int hashCode() {
        int result = tid != null ? tid.hashCode() : 0;
        result = 31 * result + (returncode != null ? returncode.hashCode() : 0);
        result = 31 * result + (returnMsg != null ? returnMsg.hashCode() : 0);
        result = 31 * result + (appid != null ? appid.hashCode() : 0);
        result = 31 * result + (mchId != null ? mchId.hashCode() : 0);
        result = 31 * result + (deviceInfo != null ? deviceInfo.hashCode() : 0);
        result = 31 * result + (nonceStr != null ? nonceStr.hashCode() : 0);
        result = 31 * result + (sign != null ? sign.hashCode() : 0);
        result = 31 * result + (signType != null ? signType.hashCode() : 0);
        result = 31 * result + (resultCode != null ? resultCode.hashCode() : 0);
        result = 31 * result + (errCode != null ? errCode.hashCode() : 0);
        result = 31 * result + (errCodeDes != null ? errCodeDes.hashCode() : 0);
        result = 31 * result + (openid != null ? openid.hashCode() : 0);
        result = 31 * result + (isSubscribe != null ? isSubscribe.hashCode() : 0);
        result = 31 * result + (tradeType != null ? tradeType.hashCode() : 0);
        result = 31 * result + (bankType != null ? bankType.hashCode() : 0);
        result = 31 * result + (totalFee != null ? totalFee.hashCode() : 0);
        result = 31 * result + (settlementTotalFee != null ? settlementTotalFee.hashCode() : 0);
        result = 31 * result + (feeType != null ? feeType.hashCode() : 0);
        result = 31 * result + (cashFee != null ? cashFee.hashCode() : 0);
        result = 31 * result + (cashFeeType != null ? cashFeeType.hashCode() : 0);
        result = 31 * result + (couponFee != null ? couponFee.hashCode() : 0);
        result = 31 * result + (couponCount != null ? couponCount.hashCode() : 0);
        result = 31 * result + (couponType$n != null ? couponType$n.hashCode() : 0);
        result = 31 * result + (couponId$n != null ? couponId$n.hashCode() : 0);
        result = 31 * result + (couponFee$n != null ? couponFee$n.hashCode() : 0);
        result = 31 * result + (transactionId != null ? transactionId.hashCode() : 0);
        result = 31 * result + (outTradeNo != null ? outTradeNo.hashCode() : 0);
        result = 31 * result + (attach != null ? attach.hashCode() : 0);
        result = 31 * result + (timeEnd != null ? timeEnd.hashCode() : 0);
        result = 31 * result + (createTime != null ? createTime.hashCode() : 0);
        return result;
    }
}
